package leetcode.interview;

import java.util.HashMap;

/*
面试题 01.02. 判定是否互为字符重排
给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重新排列后，能否变成另一个字符串。

示例 1：

输入: s1 = "abc", s2 = "bca"
输出: true
 */
public class Test0102 {
    public boolean CheckPermutation(String s1, String s2) {
        if(s1.length()!=s2.length())
            return false;
        HashMap<Character,Integer> dic=new HashMap<>();
        for(char c:s1.toCharArray()){
            dic.put(c,dic.getOrDefault(c,0)+1);
        }
        for(char c:s2.toCharArray()){
            dic.put(c,dic.get(c)-1);
            if(dic.get(c)==0){
                dic.remove(c);
            }
        }
        return dic.size()==0;
    }
}
